package com.cxt.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CarpoolInfoDto implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 标题
     */
    private String title;
    /**
     * 总距离（单位：公里）
     */
    private BigDecimal totalDistance;
    /**
     * 预计用时（单位：分钟）
     */
    private Integer estimatedDuration;
    /**
     * 描述
     */
    private String description;
    /**
     * 拼车类型（1: 人找车, 2: 车找人）
     */
    private Integer carpoolType;
    /**
     * 乘客人数
     */
    private Integer passengerCount;
    /**
     * 理想人数
     */
    private Integer idealPersonCount;
    /**
     * 计划开始时间
     */
    private LocalDateTime plannedStartTime;
    /**
     * 定价方式（1: 一口价，2: 按实际公里算）
     */
    private Integer pricingMethod;
    /**
     * 公里单价（单位：元）
     */
    private BigDecimal pricePerKm;
    /**
     * 一口价（单位：元）
     */
    private BigDecimal flatRate;
    /**
     * 过路费（单位：元）
     */
    private BigDecimal tollFee;
    /**
     * 是否包含过路费（0: 否, 1: 是）
     */
    private Boolean includeTollFee;
    /**
     * 总价（单位：元）
     */
    private BigDecimal totalPrice;
    /**
     * 付费计算方式（1: 团长自付，2: 平摊，3: 按实际公里数计算）
     */
    private Integer paymentCalculationMethod;

    /**
     * 起点经度
     */
    private BigDecimal startLongitude;
    /**
     * 起点纬度
     */
    private BigDecimal startLatitude;
    /**
     * 起点名称
     */
    private String startLocationName;
    /**
     * 终点经度
     */
    private BigDecimal endLongitude;
    /**
     * 终点纬度
     */
    private BigDecimal endLatitude;
    /**
     * 终点名称
     */
    private String endLocationName;
}
